Communication software, such as a chat application, provides a platform for multiple users to communicate with each other remotely. The communication can be in different formats, and can be conducted either in a real-time mode, or in an off-line mode. For example, a user can use a chat application to generate a chat message that includes, for example, texts, picture, video, audio, etc., in a chat session. That chat message can be accessed by another user in real-time, or at a later time. In some cases, the intended recipient may access the chat message after receiving a notification about the chat message.